﻿using System;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Modules.Help;

namespace DotNetNuke.Modules.Help.Tests.Mocks
{
    class MockHelpCategoryController : IHelpCategoryController, ISearchable, IPortable
    {


        #region IHelpCategoryController Members

        //public int AddTestDrivenDNNModule(TestDrivenDNNModuleInfo objTestDrivenDNNModule)
        //{
        //    switch (objTestDrivenDNNModule.ModuleId)
        //    {
        //        case MockHelper.AddExceptionId:
        //            throw new Exception("Add Exception");
        //        case MockHelper.NullHelpTutorialInfoId:
        //            return DotNetNuke.Common.Utilities.Null.NullInteger;
        //        default:
        //            return MockHelper.ValidTestDrivenDNNModuleInfoId;
        //    }
        //}

        //public void DeleteTestDrivenDNNModule(int ModuleId, int ItemId)
        //{
        //    switch (ItemId)
        //    {
        //        case MockHelper.DeleteExceptionId:
        //            throw new Exception("Delete Exception");
        //        default:
        //            //do nothing
        //            break;
        //    }
        //}

        //public TestDrivenDNNModuleInfo GetTestDrivenDNNModule(int ModuleId, int ItemId)
        //{
        //    switch (ItemId)
        //    {
        //        case MockHelper.NullHelpTutorialInfoId:
        //            return null;
        //        case MockHelper.LoadExceptionId:
        //            throw new Exception("Get Exception");
        //        default:
        //            return MockHelper.CreateTestDrivenDNNModuleInfo();
        //    }
        //}

        //public List<TestDrivenDNNModuleInfo> GetTestDrivenDNNModules(int ModuleId)
        //{
        //    throw new NotImplementedException();
        //}

        //public void UpdateTestDrivenDNNModule(TestDrivenDNNModuleInfo objTestDrivenDNNModule)
        //{
        //    switch (objTestDrivenDNNModule.ItemId)
        //    {
        //        case MockHelper.UpdateExceptionId:
        //            throw new Exception("Update Exception");
        //        default:
        //            //do nothing
        //            break;
        //    }
        //}

        #endregion

        #region ISearchable Members

        public DotNetNuke.Services.Search.SearchItemInfoCollection GetSearchItems(ModuleInfo ModInfo)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPortable Members

        public string ExportModule(int ModuleID)
        {
            throw new NotImplementedException();
        }

        public void ImportModule(int ModuleID, string Content, string Version, int UserID)
        {
            throw new NotImplementedException();
        }

        #endregion

    }
}
